# main.py
# 主程序入口，串联所有操作
from api import get_token, get_data
from db import insert_lsbmzd
import traceback

def log_error(msg):
    """
    记录错误信息到error.log文件
    """
    with open('error.log', 'a', encoding='utf-8') as f:
        f.write(msg + '\n')


def main():
    try:
        # 步骤1：获取token
        print("正在获取token...")
        token = get_token()
        print("token获取成功:", token)

        # 步骤2：获取数据
        print("正在获取部门数据...")
        data_list = get_data(token)
        print(f"共获取到{len(data_list)}条数据")

        # 步骤3：保存到数据库
        print("正在保存数据到数据库...")
        insert_lsbmzd(data_list)
        print("数据保存成功！")
    except Exception as e:
        err_msg = f"发生异常: {e}\n{traceback.format_exc()}"
        print("程序运行出错，详细信息已记录到error.log")
        log_error(err_msg)

if __name__ == "__main__":
    main() 